package com.example.work;

// 导入Android SDK中需要的类和接口
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.database.sqlite.SQLiteDatabase;

public class Login extends AppCompatActivity {
    // 定义界面上的输入框和按钮
    EditText user, pwo;
    Button button5, buttonR, buttonN;
    TextView tvC;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login); // 设置布局文件

        // 创建数据库帮助类实例
        DBHelper1 dbHelper = new DBHelper1(Login.this, "test.db", null, 1);
        // 获取数据库的可写实例
        SQLiteDatabase db = dbHelper.getWritableDatabase();

        // 尝试从数据库中查询用户名和密码匹配的记录
        // 这里的查询存在问题，因为user和pwo的值在此时尚未初始化
        Cursor cursor = db.query("userInfo", new String[]{"user", "pwo"}, "user=? and pwo=?", new String[]{String.valueOf(user), String.valueOf(pwo)}, null, null, null);
        if (cursor.moveToFirst()) {
            // 如果查询到记录，显示登录成功的提示
            Toast.makeText(Login.this, "登录成功", Toast.LENGTH_SHORT).show();
        } else {
            // 如果没有查询到记录，显示用户名或密码错误的提示
            Toast.makeText(Login.this, "用户名或密码输入错误", Toast.LENGTH_SHORT).show();
        }
        // 关闭游标
        cursor.close();
        // 关闭数据库
        db.close();

        // 初始化界面元素
        initView();
        // 注释掉的按钮点击事件设置
        //button5.setOnClickListener(new MyButtonListener());
    }

    // 初始化界面元素的方法
    @SuppressLint("WrongViewCast")
    private void initView() {
        // 通过findViewById方法获取界面元素
        user = findViewById(R.id.user);
        pwo = findViewById(R.id.pwo);
        tvC = findViewById(R.id.tvRC);
        button5 = findViewById(R.id.button5);
        // 为注册按钮设置点击事件，点击后跳转到注册界面
        buttonR = findViewById(R.id.buttonR);
        buttonR.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Login.this, register.class);
                startActivity(intent);
            }
        });
        // 为登录按钮设置点击事件，点击后跳转到Diary界面
        button5 = findViewById(R.id.button5);
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Login.this, Diary.class);
                startActivity(intent);
            }
        });
        // 为另一个按钮设置点击事件，点击后跳转到navGragh界面
        buttonN = findViewById(R.id.buttonN);
        buttonN.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Login.this, navGragh.class);
                startActivity(intent);
            }
        });
    }

    // 显示登录信息的内部类
    class MyButtonListener implements View.OnClickListener {
        public void onClick(View view) {
            // 获取用户输入的用户名和密码
            String name = user.getText().toString();
            String pow = pwo.getText().toString();
            // 将用户名和密码显示在TextView上
            tvC.setText("用户名:" + name + "密码:" + pow + "登录");
        }
    }
}